package com.java.dp.template;

/**
 * @Author lizhilong
 * @create 2019/12/5 14:09
 * @desc 定义抽象类，规定事件执行的具体步骤
 */
public abstract  class Work {

    /**
     * 模板方法，定义统一的模式，不允许子类去修改
     */
    final void workDay(){
        Signin();
        doWork();
        sendReport();
        Signout();
    }

    public void Signin(){
        System.out.println("早上统一签到");
    }

    public abstract void  doWork();

    public void sendReport(){
        System.out.println("发送当天工作日报");
    }

    public void  Signout(){
        System.out.println("下班统一签退");
    }
}
